﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Krile.Kernel.Control.Surface
{
    public interface IVisual
    {
        /// <summary>
        /// コンポジションを実行します。
        /// </summary>
        /// <param name="compz">コンポジション実行制御のインスタンス</param>
        void Composite(Compositor compz);

        /// <summary>
        /// 描画を実行します。
        /// </summary>
        /// <param name="desc">コンポジション制御データのインスタンス</param>
        void Draw(Graphics g, CompositeDescriptor desc);

        /// <summary>
        /// 描画の終了を通知します。
        /// </summary>
        void Release();
    }
}
